package cn.cjxy.web.cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 *
 *
 * HttpServletRequest对象	作用
 * Cookie[] getCookies()	服务器得到浏览器端发送过来的所有的Cookie信息，返回的是一个Cookie的对象数组
 *
 * 在cookie值中使用分号（;）、逗号（,）、等号（=）、空格和中文等情况需要编码处理
 * 类与方法	说明
 * java.net.URLEncoder.encode("字符串","utf-8")	把字符串使用utf-8进行编码
 * java.net.URLDecoder.decode("字符串","utf-8")	把字符串使用utf-8进行解码
 *
 * Cookie设置路径的方法	功能
 * cookie.setPath(路径);	用于设置Cookie访问的路径 访问这个路径或路径的子目录都可以访问Cookie 其它的路径无法访问
 * @author huangjie
 * @date 2025/9/27
 */
@WebServlet("/cookiedemo2")
public class CookieDemo2 extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置编码
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        //获取cookie
        Cookie[] cookies = req.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                writer.println(cookie.getName() + "=" + cookie.getValue());//username=张杰 age=23
            }
        }else {
            writer.print("cookie为空！！！");
        }

    }
}
